#ifndef __IMU_TASK_H
#define __IMU_TASK_H

#include "Revolve_define.h"
#include "QuaternionEKF.h"
#include "icm20602.h"

void IMU_EKF_Task(void);

extern IMU_Angle_t EulerAngle_Actual;//欧拉角，实际值
extern IMU_Angle_t EulerAngle_Target;//欧拉角，目标值

extern Q_info_Typedef Q_info_Actual; // 全局四元数，实际值
extern Q_info_Typedef Q_info_Target; // 全局四元数，目标值
extern Q_info_Typedef Q_info_Error; // 全局四元数，误差值
extern Q_info_Typedef Q_info_Error_Linear;// 全局四元数，误差值线性化
extern Q_info_Typedef Q_info_Target_instance;// 全局四元数的转置，目标值

extern Matrix_to_R_Typdef Matrix_Actual;  //旋转矩阵，实际值
extern Matrix_to_R_Typdef Matrix_Target;  //旋转矩阵，目标值
extern Matrix_to_R_Typdef Matrix_Error;  //旋转矩阵，误差值
extern Matrix_to_R_Typdef Matrix_Target_Transpose;  //旋转矩阵，目标值

extern Axial_Typdef Axial_Err;  //轴角,旋转误差

#endif
